/*
 * ClarkeAndParkTransformation.c
 *
 *  Created: 20251017
 *  Author: Hecate
 */
#ifndef CODE_CLARKE_AND_PARK_H_
#define CODE_CLARKE_AND_PARK_H_

// 等幅值克拉克变换及其逆变换
void clarkeTransformation(float ia, float ib, float ic, float *iAlpha, float *iBeta);
void inverseClarkeTransformation(float iAlpha, float iBeta, float *ia, float *ib, float *ic);

// 帕克变换及其逆变换
void parkTransformation(float iAlpha, float iBeta, float *id, float *iq, float theta);
void inverseParkTransformation(float vd, float vq, float *vAlpha, float *vBeta, float theta);

// 组合克拉克-帕克变换及其逆变换
void clarkeAndParkTransformation(float ia, float ib, float ic, float theta, float *id, float *iq);
void inverseClarkeAndParkTransformation(float id, float iq, float theta, float *ia, float *ib, float *ic);

#endif /* CODE_CLARKE_AND_PARK_H_ */